package com.caipin.domain.table;

/**
 * @Author: zhunian0322@163.com
 * @DateTime: 2021-10-06 11:35
 * @Description: TODO
 */
@TableName("t_nvr_comparison_results")
public class NVRComparisonResults {
    @TableId(type = IdType.AUTO)
    @JsonIgnore
    private Long id;

    private String personId;

    private String personName;

    @JsonIgnore
    private Long imageId;

    private Long timestamp;

    @JsonIgnore
    private Date createTime;

    @JsonIgnore
    private Integer upStatus;

    @TableField(exist = false)
    private String imageBase64;

    public com.caipin.domain.table.NVRComparisonResults setId(Long id) {
        this.id = id;
        return this;
    }

    public com.caipin.domain.table.NVRComparisonResults setPersonId(String personId) {
        this.personId = personId;
        return this;
    }

    public com.caipin.domain.table.NVRComparisonResults setPersonName(String personName) {
        this.personName = personName;
        return this;
    }

    public com.caipin.domain.table.NVRComparisonResults setImageId(Long imageId) {
        this.imageId = imageId;
        return this;
    }

    public com.caipin.domain.table.NVRComparisonResults setTimestamp(Long timestamp) {
        this.timestamp = timestamp;
        return this;
    }

    public com.caipin.domain.table.NVRComparisonResults setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public com.caipin.domain.table.NVRComparisonResults setUpStatus(Integer upStatus) {
        this.upStatus = upStatus;
        return this;
    }

    public com.caipin.domain.table.NVRComparisonResults setImageBase64(String imageBase64) {
        this.imageBase64 = imageBase64;
        return this;
    }

    public boolean equals(Object o) {
        if (o == this)
            return true;
        if (!(o instanceof com.caipin.domain.table.NVRComparisonResults))
            return false;
        com.caipin.domain.table.NVRComparisonResults other = (com.caipin.domain.table.NVRComparisonResults)o;
        if (!other.canEqual(this))
            return false;
        Object this$id = getId(), other$id = other.getId();
        if ((this$id == null) ? (other$id != null) : !this$id.equals(other$id))
            return false;
        Object this$personId = getPersonId(), other$personId = other.getPersonId();
        if ((this$personId == null) ? (other$personId != null) : !this$personId.equals(other$personId))
            return false;
        Object this$personName = getPersonName(), other$personName = other.getPersonName();
        if ((this$personName == null) ? (other$personName != null) : !this$personName.equals(other$personName))
            return false;
        Object this$imageId = getImageId(), other$imageId = other.getImageId();
        if ((this$imageId == null) ? (other$imageId != null) : !this$imageId.equals(other$imageId))
            return false;
        Object this$timestamp = getTimestamp(), other$timestamp = other.getTimestamp();
        if ((this$timestamp == null) ? (other$timestamp != null) : !this$timestamp.equals(other$timestamp))
            return false;
        Object this$createTime = getCreateTime(), other$createTime = other.getCreateTime();
        if ((this$createTime == null) ? (other$createTime != null) : !this$createTime.equals(other$createTime))
            return false;
        Object this$upStatus = getUpStatus(), other$upStatus = other.getUpStatus();
        if ((this$upStatus == null) ? (other$upStatus != null) : !this$upStatus.equals(other$upStatus))
            return false;
        Object this$imageBase64 = getImageBase64(), other$imageBase64 = other.getImageBase64();
        return !((this$imageBase64 == null) ? (other$imageBase64 != null) : !this$imageBase64.equals(other$imageBase64));
    }

    protected boolean canEqual(Object other) {
        return other instanceof com.caipin.domain.table.NVRComparisonResults;
    }

    public int hashCode() {
        int PRIME = 59;
        result = 1;
        Object $id = getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        Object $personId = getPersonId();
        result = result * 59 + (($personId == null) ? 43 : $personId.hashCode());
        Object $personName = getPersonName();
        result = result * 59 + (($personName == null) ? 43 : $personName.hashCode());
        Object $imageId = getImageId();
        result = result * 59 + (($imageId == null) ? 43 : $imageId.hashCode());
        Object $timestamp = getTimestamp();
        result = result * 59 + (($timestamp == null) ? 43 : $timestamp.hashCode());
        Object $createTime = getCreateTime();
        result = result * 59 + (($createTime == null) ? 43 : $createTime.hashCode());
        Object $upStatus = getUpStatus();
        result = result * 59 + (($upStatus == null) ? 43 : $upStatus.hashCode());
        Object $imageBase64 = getImageBase64();
        return result * 59 + (($imageBase64 == null) ? 43 : $imageBase64.hashCode());
    }

    public String toString() {
        return "NVRComparisonResults(id=" + getId() + ", personId=" + getPersonId() + ", personName=" + getPersonName() + ", imageId=" + getImageId() + ", timestamp=" + getTimestamp() + ", createTime=" + getCreateTime() + ", upStatus=" + getUpStatus() + ", imageBase64=" + getImageBase64() + ")";
    }

    public Long getId() {
        return this.id;
    }

    public String getPersonId() {
        return this.personId;
    }

    public String getPersonName() {
        return this.personName;
    }

    public Long getImageId() {
        return this.imageId;
    }

    public Long getTimestamp() {
        return this.timestamp;
    }

    public Date getCreateTime() {
        return this.createTime;
    }

    public Integer getUpStatus() {
        return this.upStatus;
    }

    public String getImageBase64() {
        return this.imageBase64;
    }
}

